/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model.dominio;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author ronan
 */
@Entity
@Table(name = "professor")
public class Professor implements Serializable {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(unique = true, nullable = false)
    private int codigoProfessor;
    @Column(length=255)
    private String nome;
    @Column(length=255)
    private String departamento;
    @Column(length=14)
    private String cpf;
    @Column(length=20)
    private String senha;
    @OneToMany(mappedBy = "professor")
    private List <Turma> turma;
  
    
    public Professor(){

   }

    public Professor(String nome, String cpf, String departamento) {
        this.nome=nome;
        this.cpf=cpf;
        this.departamento=departamento;
    }
    
    public Professor(String dados) {
        String[] arrayDados = dados.split("%%%");
        this.codigoProfessor=Integer.parseInt(arrayDados[0]);
        this.nome=arrayDados[1];
        this.cpf=arrayDados[2];
        this.departamento=arrayDados[3];
    }
   
    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the departamento
     */
    public String getDepartamento() {
        return departamento;
    }

    /**
     * @param departamento the departamento to set
     */
    public void setDepartamento(String departamento) {
        this.departamento = departamento;
    }

    /**
     * @return the cpf
     */
    public String getCpf() {
        return cpf;
    }

    /**
     * @param cpf the cpf to set
     */
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }
    
        @Override
    public String toString(){
        return this.getCodigoProfessor()+"%%%"+this.nome+"%%%"+this.cpf+"%%%"+this.departamento;
    }

    /**
     * @return the codigoAluno
     */
    public int getCodigoProfessor() {
        return codigoProfessor;
    }

    /**
     * @param codigoAluno the codigoAluno to set
     */
    public void setCodigoProfessor(int codigoProfessor) {
        this.codigoProfessor = codigoProfessor;
    }

    /**
     * @return the senha
     */
    public String getSenha() {
        return senha;
    }

    /**
     * @param senha the senha to set
     */
    public void setSenha(String senha) {
        this.senha = senha;
    }

    
    public List<Turma> getTurma() {
        return turma;
    }

    public void setTurma(List<Turma> turma) {
        this.turma = turma;
    }
    
}

